Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


sbapp/sideband/cli/cmd_plugins.py 8fe8ef447bb4716f00abd033149cf2ce96839fb4 (8fe8ef44) Text, 2.24 KB

T8b949e# Copyright (c) 2026 Mark Qvist - See LICENSE.md and README.md

Tff7b72from T7ee787.T7ee787commands Tff7b72import Te6edf3CommandTb4b4b4, Te6edf3registry
Tff7b72from T7ee787. Tff7b72import Te6edf3output Tff7b72as Te6edf3out

Tff7b72def Td2a8ff_cmd_pluginsTb4b4b4(Te6edf3argsTb4b4b4, Te6edf3sidebandTb4b4b4, Te6edf3ctxTb4b4b4)Tb4b4b4:
Te6edf3lines Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3linesTff7b72.Td2a8ffappendTb4b4b4(Te6edf3outTff7b72.Td2a8ffsectionTb4b4b4(Ta5d6ff"Ta5d6ffLoaded PluginsTa5d6ff"Tb4b4b4)Tb4b4b4)

Te6edf3svc Tff7b72= Tffa657listTb4b4b4(Te6edf3sidebandTff7b72.Td2a8ffactive_service_pluginsTff7b72.Td2a8ffvaluesTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3tel Tff7b72= Tffa657listTb4b4b4(Te6edf3sidebandTff7b72.Td2a8ffactive_telemetry_pluginsTff7b72.Td2a8ffvaluesTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3cmd Tff7b72= Tffa657listTb4b4b4(Te6edf3sidebandTff7b72.Td2a8ffactive_command_pluginsTff7b72.Td2a8ffvaluesTb4b4b4(Tb4b4b4)Tb4b4b4)

Tff7b72if Te6edf3svcTb4b4b4:
Te6edf3linesTff7b72.Td2a8ffappendTb4b4b4(Ta5d6ff"Tffea00\nTa5d6ffService plugins:Ta5d6ff"Tb4b4b4)
Tff7b72for Te6edf3p Tff7b72in Te6edf3svcTb4b4b4:
Te6edf3status Tff7b72= Ta5d6ff"Ta5d6ffrunningTa5d6ff" Tff7b72if Te6edf3pTff7b72.Td2a8ffis_runningTb4b4b4(Tb4b4b4) Tff7b72else Ta5d6ff"Ta5d6ffstoppedTa5d6ff"
Te6edf3linesTff7b72.Td2a8ffappendTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ff Tffd700{Te6edf3pTff7b72.Td2a8ffservice_nameTffd700:Ta5d6ff<30sTffd700}Ta5d6ff Tffd700{Te6edf3statusTffd700}Ta5d6ff"Tb4b4b4)

Tff7b72if Te6edf3telTb4b4b4:
Te6edf3linesTff7b72.Td2a8ffappendTb4b4b4(Ta5d6ff"Tffea00\nTa5d6ffTelemetry plugins:Ta5d6ff"Tb4b4b4)
Tff7b72for Te6edf3p Tff7b72in Te6edf3telTb4b4b4:
Te6edf3status Tff7b72= Ta5d6ff"Ta5d6ffrunningTa5d6ff" Tff7b72if Te6edf3pTff7b72.Td2a8ffis_runningTb4b4b4(Tb4b4b4) Tff7b72else Ta5d6ff"Ta5d6ffstoppedTa5d6ff"
Te6edf3linesTff7b72.Td2a8ffappendTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ff Tffd700{Te6edf3pTff7b72.Td2a8ffplugin_nameTffd700:Ta5d6ff<30sTffd700}Ta5d6ff Tffd700{Te6edf3statusTffd700}Ta5d6ff"Tb4b4b4)

Tff7b72if Te6edf3cmdTb4b4b4:
Te6edf3linesTff7b72.Td2a8ffappendTb4b4b4(Ta5d6ff"Tffea00\nTa5d6ffCommand plugins:Ta5d6ff"Tb4b4b4)
Tff7b72for Te6edf3p Tff7b72in Te6edf3cmdTb4b4b4:
Te6edf3status Tff7b72= Ta5d6ff"Ta5d6ffrunningTa5d6ff" Tff7b72if Te6edf3pTff7b72.Td2a8ffis_runningTb4b4b4(Tb4b4b4) Tff7b72else Ta5d6ff"Ta5d6ffstoppedTa5d6ff"
Te6edf3linesTff7b72.Td2a8ffappendTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ff Tffd700{Te6edf3pTff7b72.Td2a8ffcommand_nameTffd700:Ta5d6ff<30sTffd700}Ta5d6ff Tffd700{Te6edf3statusTffd700}Ta5d6ff"Tb4b4b4)

Tff7b72if Tff7b72not Te6edf3svc Tff7b72and Tff7b72not Te6edf3tel Tff7b72and Tff7b72not Te6edf3cmdTb4b4b4: Te6edf3linesTff7b72.Td2a8ffappendTb4b4b4(Ta5d6ff"Ta5d6ffNo plugins currently loaded.Ta5d6ff"Tb4b4b4)

Tff7b72return Ta5d6ff"Tffea00\nTa5d6ff"Tff7b72.Td2a8ffjoinTb4b4b4(Te6edf3linesTb4b4b4)Tff7b72+Ta5d6ff"Tffea00\nTa5d6ff"

Tff7b72def Td2a8ff_cmd_plugins_reloadTb4b4b4(Te6edf3argsTb4b4b4, Te6edf3sidebandTb4b4b4, Te6edf3ctxTb4b4b4)Tb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3sidebandTff7b72.Td2a8ffreload_pluginsTb4b4b4(Tb4b4b4)
Te6edf3svc Tff7b72= Tffa657lenTb4b4b4(Te6edf3sidebandTff7b72.Td2a8ffactive_service_pluginsTb4b4b4)
Te6edf3tel Tff7b72= Tffa657lenTb4b4b4(Te6edf3sidebandTff7b72.Td2a8ffactive_telemetry_pluginsTb4b4b4)
Te6edf3cmd Tff7b72= Tffa657lenTb4b4b4(Te6edf3sidebandTff7b72.Td2a8ffactive_command_pluginsTb4b4b4)
Te6edf3total Tff7b72= Te6edf3svc Tff7b72+ Te6edf3tel Tff7b72+ Te6edf3cmd
Tff7b72return Ta5d6fffTa5d6ff"Ta5d6ffPlugins reloaded. Tffd700{Te6edf3totalTffd700}Ta5d6ff active (Tffd700{Te6edf3svcTffd700}Ta5d6ff service, Tffd700{Te6edf3telTffd700}Ta5d6ff telemetry, Tffd700{Te6edf3cmdTffd700}Ta5d6ff command).Ta5d6ff"
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4: Tff7b72return Ta5d6fffTa5d6ff"Ta5d6ffError reloading plugins: Tffd700{Te6edf3eTffd700}Ta5d6ff"

Tff7b72def Td2a8ffregisterTb4b4b4(Te6edf3sidebandTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Te6edf3registryTff7b72.Td2a8ffregisterTb4b4b4(Te6edf3CommandTb4b4b4(
Te6edf3pathTff7b72=Tb4b4b4(Ta5d6ff"Ta5d6ffpluginsTa5d6ff"Tb4b4b4,Tb4b4b4)Tb4b4b4,
Te6edf3help_textTff7b72=Ta5d6ff"Ta5d6ffList loaded pluginsTa5d6ff"Tb4b4b4,
Te6edf3help_detailTff7b72=Ta5d6ff"""Ta5d6ffplugins
Ta5d6ff Lists all currently loaded and active plugins, grouped by type.
Ta5d6ff Each entry shows the plugin name and whether it is running.Ta5d6ff"""Tb4b4b4,
Te6edf3max_argsTff7b72=T79c0ff0Tb4b4b4,
Te6edf3handlerTff7b72=Te6edf3_cmd_pluginsTb4b4b4,
Tb4b4b4)Tb4b4b4)

Te6edf3registryTff7b72.Td2a8ffregisterTb4b4b4(Te6edf3CommandTb4b4b4(
Te6edf3pathTff7b72=Tb4b4b4(Ta5d6ff"Ta5d6ffpluginsTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffreloadTa5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3help_textTff7b72=Ta5d6ff"Ta5d6ffReload plugins from the configured pathTa5d6ff"Tb4b4b4,
Te6edf3help_detailTff7b72=Ta5d6ff"""Ta5d6ffplugins reload
Ta5d6ff Reloads all plugins from the configured plugin directory.Ta5d6ff"""Tb4b4b4,
Te6edf3max_argsTff7b72=T79c0ff0Tb4b4b4,
Te6edf3handlerTff7b72=Te6edf3_cmd_plugins_reloadTb4b4b4,
Tb4b4b4)Tb4b4b4)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────